Unity道場 2019/06/27回


概要

VectorGraphicsで作るエモい表現



以下メモ

SVGインポート

ランタイムでのメッシュ生成


packageManagerからインポート

はい。



円形のSpriteを生成したい。

・図形データの用意

・テッセレーション

・メッシュ生成

このへんを自分でやる。


Scene/

Shape(塗り、線、重なり制御)/

BezierContour(曲線)/

BezierSegment(制御点)….


Clipper()/



VectorUtilsを活用するとよい。



・図形データの用意、曲線を生成する

var shape = new Shape();

shape.~~



・テッセレーション

オプションを設定する。

stepDistance値 で線の荒さが決まる。


で、ジオメトリを生成し、

-> Sprite

-> Sprite -> テクスチャ化

とか、もう2種類あるはず。


単純、規則的なものであればシェーダーの方がよい




こんな感じに文字列をSVGとしてパースできる

SVGParser.ImportSVG(StringReader(string));




SVG1.1準拠

SolidFIll のモードをOddEvenにすると穴として抜くことができる。


VectorGraphicsを使ってマスクを作る

SpriteMaskのマスクスプライトにセットするといい感じに抜ける。